home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / AIncludes / QuickTimeVR.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  34.7 KB  |  1,174 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QuickTimeVR.a
  3. ;
  4. ;    Contains:    QuickTime VR interfaces
  5. ;
  6. ;    Version:    Technology:    QuickTime VR 2.1
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1997-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__QUICKTIMEVR__') = 'UNDEFINED' THEN
  18. __QUICKTIMEVR__ SET 1
  19.  
  20.     IF &TYPE('__CONDITIONALMACROS__') = 'UNDEFINED' THEN
  21.     include 'ConditionalMacros.a'
  22.     ENDIF
  23.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  24.     include 'Dialogs.a'
  25.     ENDIF
  26.     IF &TYPE('__MOVIES__') = 'UNDEFINED' THEN
  27.     include 'Movies.a'
  28.     ENDIF
  29.  
  30. ; ******************************************************************************
  31. ; *                                                                           **
  32. ; * ABOUT QTVR_OLD_CALLS:                                                     **
  33. ; *                                                                           **
  34. ; * NOTE: Define QTVR_OLD_CALLS to 1 for your application makefile/project    **
  35. ; *       only if you are sure that you need to use the older calls for       **
  36. ; *       compatibility with VR 2.0 and 2.0.1 on the Macintosh                ** 
  37. ; *                                                                           **
  38. ; ****************************************************************************
  39.  
  40.     IF &TYPE('QTVR_OLD_CALLS') = 'UNDEFINED' THEN
  41.     QTVR_OLD_CALLS: SET 0
  42.     ENDIF
  43.  
  44.  
  45.  
  46.  
  47. kQTVRControllerSubType            EQU        'ctyp'
  48. kQTVRQTVRType                    EQU        'qtvr'
  49. kQTVRPanoramaType                EQU        'pano'
  50. kQTVRObjectType                    EQU        'obje'
  51. kQTVROldPanoType                EQU        'STpn'                ; Used in QTVR 1.0 release
  52. kQTVROldObjectType                EQU        'stna'                ; Used in QTVR 1.0 release
  53.     IF TARGET_OS_MAC THEN
  54.     ELSE
  55.     ENDIF    ; TARGET_OS_MAC
  56. ;  QTVR hot spot types
  57.  
  58. kQTVRHotSpotLinkType            EQU        'link'
  59. kQTVRHotSpotURLType                EQU        'url '
  60. kQTVRHotSpotUndefinedType        EQU        'undf'
  61. ;  Special Values for nodeID in QTVRGoToNodeID
  62.  
  63. kQTVRCurrentNode                EQU        0
  64. kQTVRPreviousNode                EQU        $80000000
  65. kQTVRDefaultNode                EQU        $80000001
  66. ;  Panorama correction modes used for the kQTVRImagingCorrection imaging property
  67.  
  68. kQTVRNoCorrection                EQU        0
  69. kQTVRPartialCorrection            EQU        1
  70. kQTVRFullCorrection                EQU        2
  71. ;  Imaging Modes used by QTVRSetImagingProperty, QTVRGetImagingProperty, QTVRUpdate, QTVRBeginUpdate
  72.  
  73. kQTVRStatic                        EQU        1
  74. kQTVRMotion                        EQU        2
  75. kQTVRCurrentMode                EQU        0                    ; Special Value for QTVRUpdate
  76. kQTVRAllModes                    EQU        100                    ; Special value for QTVRSetProperty
  77. ; typedef UInt32                         QTVRImagingMode
  78.  
  79. ;  Imaging Properties used by QTVRSetImagingProperty, QTVRGetImagingProperty
  80.  
  81. kQTVRImagingCorrection            EQU        1
  82. kQTVRImagingQuality                EQU        2
  83. kQTVRImagingDirectDraw            EQU        3
  84. kQTVRImagingCurrentMode            EQU        100                    ; Get Only
  85. ;  OR the above with kImagingDefaultValue to get/set the default value
  86.  
  87. kImagingDefaultValue            EQU        $80000000
  88. ;  Transition Types used by QTVRSetTransitionProperty, QTVREnableTransition
  89.  
  90. kQTVRTransitionSwing            EQU        1
  91. ;  Transition Properties QTVRSetTransitionProperty
  92.  
  93. kQTVRTransitionSpeed            EQU        1
  94. kQTVRTransitionDirection        EQU        2
  95. ;  Constraint values used to construct value returned by GetConstraintStatus
  96.  
  97. kQTVRUnconstrained                EQU        0
  98. kQTVRCantPanLeft                EQU        $00000001
  99. kQTVRCantPanRight                EQU        $00000002
  100. kQTVRCantPanUp                    EQU        $00000004
  101. kQTVRCantPanDown                EQU        $00000008
  102. kQTVRCantZoomIn                    EQU        $00000010
  103. kQTVRCantZoomOut                EQU        $00000020
  104. kQTVRCantTranslateLeft            EQU        $00000040
  105. kQTVRCantTranslateRight            EQU        $00000080
  106. kQTVRCantTranslateUp            EQU        $00000100
  107. kQTVRCantTranslateDown            EQU        $00000200
  108. ;  Object-only mouse mode values used to construct value returned by QTVRGetCurrentMouseMode
  109.  
  110. kQTVRPanning                    EQU        $00000001            ; standard objects, "object only" controllers
  111. kQTVRTranslating                EQU        $00000002            ; all objects
  112. kQTVRZooming                    EQU        $00000004            ; all objects
  113. kQTVRScrolling                    EQU        $00000008            ; standard object arrow scrollers and joystick object
  114. kQTVRSelecting                    EQU        $00000010            ; object absolute controller
  115. ;  Properties for use with QTVRSetInteractionProperty/GetInteractionProperty
  116.  
  117. kQTVRInteractionMouseClickHysteresis EQU 1                    ; pixels within which the mouse is considered not to have moved (UInt16)
  118. kQTVRInteractionMouseClickTimeout EQU    2                    ; ticks after which a mouse click times out and turns into panning (UInt32)
  119. kQTVRInteractionPanTiltSpeed    EQU        3                    ; control the relative pan/tilt speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;
  120. kQTVRInteractionZoomSpeed        EQU        4                    ; control the relative zooming speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;
  121. kQTVRInteractionTranslateOnMouseDown EQU 101                ; Holding MouseDown with this setting translates zoomed object movies (Boolean)
  122. kQTVRInteractionMouseMotionScale EQU    102                    ; The maximum angle of rotation caused by dragging across the display window. (* float)
  123. kQTVRInteractionNudgeMode        EQU        103                    ; A QTVRNudgeMode: rotate, translate, or the same as the current mouse mode. Requires QTVR 2.1
  124. ;  OR the above with kQTVRInteractionDefaultValue to get/set the default value
  125.  
  126. kQTVRInteractionDefaultValue    EQU        $80000000
  127.  
  128. ;  Geometry constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo
  129.  
  130. kQTVRUseMovieGeometry            EQU        0
  131. kQTVRVerticalCylinder            EQU        'vcyl'
  132. ;  Resolution constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo
  133.  
  134. kQTVRDefaultRes                    EQU        0
  135. kQTVRFullRes                    EQU        $00000001
  136. kQTVRHalfRes                    EQU        $00000002
  137. kQTVRQuarterRes                    EQU        $00000004
  138. ;  QTVR-specific pixelFormat constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo
  139.  
  140. kQTVRUseMovieDepth                EQU        0
  141. ;  Cache Size Pref constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings
  142.  
  143. kQTVRMinimumCache                EQU        -1
  144. kQTVRSuggestedCache                EQU        0
  145. kQTVRFullCache                    EQU        1
  146. ;  Angular units used by QTVRSetAngularUnits
  147.  
  148. kQTVRDegrees                    EQU        0
  149. kQTVRRadians                    EQU        1
  150. ; typedef UInt32                         QTVRAngularUnits
  151.  
  152. ;  Values for enableFlag parameter in QTVREnableHotSpot
  153.  
  154. kQTVRHotSpotID                    EQU        0
  155. kQTVRHotSpotType                EQU        1
  156. kQTVRAllHotSpots                EQU        2
  157. ;  Values for kind parameter in QTVRGet/SetConstraints, QTVRGetViewingLimits
  158.  
  159. kQTVRPan                        EQU        0
  160. kQTVRTilt                        EQU        1
  161. kQTVRFieldOfView                EQU        2
  162. kQTVRViewCenterH                EQU        4                    ; WrapAndConstrain only
  163. kQTVRViewCenterV                EQU        5                    ; WrapAndConstrain only
  164. ;  Values for setting parameter in QTVRSetAnimationSetting, QTVRGetAnimationSetting
  165.  
  166.                                                             ; View Frame Animation Settings
  167. kQTVRPalindromeViewFrames        EQU        1
  168. kQTVRStartFirstViewFrame        EQU        2
  169. kQTVRDontLoopViewFrames            EQU        3
  170. kQTVRPlayEveryViewFrame            EQU        4                    ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  171.                                                             ; View Animation Settings
  172. kQTVRSyncViewToFrameRate        EQU        16
  173. kQTVRPalindromeViews            EQU        17
  174. kQTVRPlayStreamingViews            EQU        18                    ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  175. ; typedef UInt32                         QTVRObjectAnimationSetting
  176.  
  177.  
  178. kQTVRWrapPan                    EQU        1
  179. kQTVRWrapTilt                    EQU        2
  180. kQTVRCanZoom                    EQU        3
  181. kQTVRReverseHControl            EQU        4
  182. kQTVRReverseVControl            EQU        5
  183. kQTVRSwapHVControl                EQU        6
  184. kQTVRTranslation                EQU        7
  185. ; typedef UInt32                         QTVRControlSetting
  186.  
  187.  
  188. kQTVRDefault                    EQU        0
  189. kQTVRCurrent                    EQU        2
  190. kQTVRMouseDown                    EQU        3
  191. ; typedef UInt32                         QTVRViewStateType
  192.  
  193.  
  194. kQTVRRight                        EQU        0
  195. kQTVRUpRight                    EQU        45
  196. kQTVRUp                            EQU        90
  197. kQTVRUpLeft                        EQU        135
  198. kQTVRLeft                        EQU        180
  199. kQTVRDownLeft                    EQU        225
  200. kQTVRDown                        EQU        270
  201. kQTVRDownRight                    EQU        315
  202. ; typedef UInt32                         QTVRNudgeControl
  203.  
  204.  
  205. kQTVRNudgeRotate                EQU        0
  206. kQTVRNudgeTranslate                EQU        1
  207. kQTVRNudgeSameAsMouse            EQU        2
  208. ; typedef UInt32                         QTVRNudgeMode
  209.  
  210. ;  Flags to control elements of the QTVR control bar (set via mcActionSetFlags) 
  211.  
  212. mcFlagQTVRSuppressBackBtn        EQU        $00010000
  213. mcFlagQTVRSuppressZoomBtns        EQU        $00020000
  214. mcFlagQTVRSuppressHotSpotBtn    EQU        $00040000
  215. mcFlagQTVRSuppressTranslateBtn    EQU        $00080000
  216. mcFlagQTVRSuppressHelpText        EQU        $00100000
  217. mcFlagQTVRSuppressHotSpotNames    EQU        $00200000
  218. mcFlagQTVRExplicitFlagSet        EQU        $80000000            ; bits 0->30 should be interpreted as "explicit on" for the corresponding suppression bits
  219. ;  Cursor types used in type field of QTVRCursorRecord
  220.  
  221. kQTVRUseDefaultCursor            EQU        0
  222. kQTVRStdCursorType                EQU        1
  223. kQTVRColorCursorType            EQU        2
  224. ;  Values for flags parameter in QTVRMouseOverHotSpot callback
  225.  
  226. kQTVRHotSpotEnter                EQU        0
  227. kQTVRHotSpotWithin                EQU        1
  228. kQTVRHotSpotLeave                EQU        2
  229. ;  Values for flags parameter in QTVRSetPrescreenImagingCompleteProc
  230.  
  231. kQTVRPreScreenEveryIdle            EQU        $00000001            ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  232. ;  Values for flags field of areasOfInterest in QTVRSetBackBufferImagingProc
  233.  
  234. kQTVRBackBufferEveryUpdate        EQU        $00000001
  235. kQTVRBackBufferEveryIdle        EQU        $00000002
  236. kQTVRBackBufferAlwaysRefresh    EQU        $00000004
  237. ;  Values for flagsIn parameter in QTVRBackBufferImaging callback
  238.  
  239. kQTVRBackBufferRectVisible        EQU        $00000001
  240. kQTVRBackBufferWasRefreshed        EQU        $00000002
  241. ;  Values for flagsOut parameter in QTVRBackBufferImaging callback
  242.  
  243. kQTVRBackBufferFlagDidDraw        EQU        $00000001
  244. kQTVRBackBufferFlagLastFlag        EQU        $80000000
  245. ;  QTVRCursorRecord used in QTVRReplaceCursor
  246. QTVRCursorRecord        RECORD 0
  247. theType                     ds.w    1                ; offset: $0 (0)        ;  field was previously named "type"
  248. rsrcID                     ds.w    1                ; offset: $2 (2)
  249. handle                     ds.l    1                ; offset: $4 (4)
  250. sizeof                     EQU *                    ; size:   $8 (8)
  251.                         ENDR
  252. QTVRFloatPoint            RECORD 0
  253. x                         ds        Float32            ; offset: $0 (0)
  254. y                         ds        Float32            ; offset: $4 (4)
  255. sizeof                     EQU *                    ; size:   $8 (8)
  256.                         ENDR
  257. ;  Struct used for areasOfInterest parameter in QTVRSetBackBufferImagingProc
  258. QTVRAreaOfInterest        RECORD 0
  259. panAngle                 ds        Float32            ; offset: $0 (0)
  260. tiltAngle                 ds        Float32            ; offset: $4 (4)
  261. width                     ds        Float32            ; offset: $8 (8)
  262. height                     ds        Float32            ; offset: $C (12)
  263. flags                     ds.l    1                ; offset: $10 (16)
  264. sizeof                     EQU *                    ; size:   $14 (20)
  265.                         ENDR
  266.  
  267. ;  =================================================================================================
  268. ;   Callback routines 
  269. ;  -------------------------------------------------------------------------------------------------
  270.  
  271.  
  272.  
  273.  
  274. ;  =================================================================================================
  275. ;    QTVR Intercept Struct, Callback, Routine Descriptors 
  276. ;  -------------------------------------------------------------------------------------------------
  277.  
  278.  
  279.  
  280.  
  281. kQTVRSetPanAngleSelector        EQU        $2000
  282. kQTVRSetTiltAngleSelector        EQU        $2001
  283. kQTVRSetFieldOfViewSelector        EQU        $2002
  284. kQTVRSetViewCenterSelector        EQU        $2003
  285. kQTVRMouseEnterSelector            EQU        $2004
  286. kQTVRMouseWithinSelector        EQU        $2005
  287. kQTVRMouseLeaveSelector            EQU        $2006
  288. kQTVRMouseDownSelector            EQU        $2007
  289. kQTVRMouseStillDownSelector        EQU        $2008
  290. kQTVRMouseUpSelector            EQU        $2009
  291. kQTVRTriggerHotSpotSelector        EQU        $200A
  292. kQTVRGetHotSpotTypeSelector        EQU        $200B                ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  293. ; typedef UInt32                         QTVRProcSelector
  294.  
  295. QTVRInterceptRecord        RECORD 0
  296. reserved1                 ds.l    1                ; offset: $0 (0)
  297. selector                 ds.l    1                ; offset: $4 (4)
  298. reserved2                 ds.l    1                ; offset: $8 (8)
  299. reserved3                 ds.l    1                ; offset: $C (12)
  300. paramCount                 ds.l    1                ; offset: $10 (16)
  301. parameter                 ds.l    6                ; offset: $14 (20)
  302. sizeof                     EQU *                    ; size:   $2C (44)
  303.                         ENDR
  304. ; typedef struct QTVRInterceptRecord *    QTVRInterceptPtr
  305.  
  306. ;  Prototype for Intercept Proc callback
  307.  
  308. ;  =================================================================================================
  309. ;    Initialization QTVR calls 
  310. ;  -------------------------------------------------------------------------------------------------
  311. ;   Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10) and only work on Non-Macintosh platforms
  312.  
  313.  
  314.     IF ¬ TARGET_OS_MAC THEN
  315. ;
  316. ; extern OSErr InitializeQTVR(void )
  317. ;
  318.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  319.         IMPORT_CFM_FUNCTION InitializeQTVR
  320.     ENDIF
  321.  
  322. ;
  323. ; extern OSErr TerminateQTVR(void )
  324. ;
  325.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  326.         IMPORT_CFM_FUNCTION TerminateQTVR
  327.     ENDIF
  328.  
  329.     ENDIF
  330.  
  331. ;  =================================================================================================
  332. ;    General QTVR calls 
  333. ;  -------------------------------------------------------------------------------------------------
  334.  
  335.  
  336. ;
  337. ; extern Track QTVRGetQTVRTrack(Movie theMovie, SInt32 index)
  338. ;
  339.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  340.         IMPORT_CFM_FUNCTION QTVRGetQTVRTrack
  341.     ENDIF
  342.  
  343. ;
  344. ; extern OSErr QTVRGetQTVRInstance(QTVRInstance *qtvr, Track qtvrTrack, MovieController mc)
  345. ;
  346.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  347.         IMPORT_CFM_FUNCTION QTVRGetQTVRInstance
  348.     ENDIF
  349.  
  350.  
  351. ;  =================================================================================================
  352. ;    Viewing Angles and Zooming 
  353. ;  -------------------------------------------------------------------------------------------------
  354.  
  355.  
  356.  
  357. ;
  358. ; extern OSErr QTVRSetPanAngle(QTVRInstance qtvr, float panAngle)
  359. ;
  360.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  361.         IMPORT_CFM_FUNCTION QTVRSetPanAngle
  362.     ENDIF
  363.  
  364. ;
  365. ; extern float QTVRGetPanAngle(QTVRInstance qtvr)
  366. ;
  367.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  368.         IMPORT_CFM_FUNCTION QTVRGetPanAngle
  369.     ENDIF
  370.  
  371. ;
  372. ; extern OSErr QTVRSetTiltAngle(QTVRInstance qtvr, float tiltAngle)
  373. ;
  374.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  375.         IMPORT_CFM_FUNCTION QTVRSetTiltAngle
  376.     ENDIF
  377.  
  378. ;
  379. ; extern float QTVRGetTiltAngle(QTVRInstance qtvr)
  380. ;
  381.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  382.         IMPORT_CFM_FUNCTION QTVRGetTiltAngle
  383.     ENDIF
  384.  
  385. ;
  386. ; extern OSErr QTVRSetFieldOfView(QTVRInstance qtvr, float fieldOfView)
  387. ;
  388.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  389.         IMPORT_CFM_FUNCTION QTVRSetFieldOfView
  390.     ENDIF
  391.  
  392. ;
  393. ; extern float QTVRGetFieldOfView(QTVRInstance qtvr)
  394. ;
  395.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  396.         IMPORT_CFM_FUNCTION QTVRGetFieldOfView
  397.     ENDIF
  398.  
  399. ;
  400. ; extern OSErr QTVRShowDefaultView(QTVRInstance qtvr)
  401. ;
  402.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  403.         IMPORT_CFM_FUNCTION QTVRShowDefaultView
  404.     ENDIF
  405.  
  406. ;  Object Specific
  407. ;
  408. ; extern OSErr QTVRSetViewCenter(QTVRInstance qtvr, const QTVRFloatPoint *viewCenter)
  409. ;
  410.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  411.         IMPORT_CFM_FUNCTION QTVRSetViewCenter
  412.     ENDIF
  413.  
  414. ;
  415. ; extern OSErr QTVRGetViewCenter(QTVRInstance qtvr, QTVRFloatPoint *viewCenter)
  416. ;
  417.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  418.         IMPORT_CFM_FUNCTION QTVRGetViewCenter
  419.     ENDIF
  420.  
  421. ;
  422. ; extern OSErr QTVRNudge(QTVRInstance qtvr, QTVRNudgeControl direction)
  423. ;
  424.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  425.         IMPORT_CFM_FUNCTION QTVRNudge
  426.     ENDIF
  427.  
  428. ;  QTVRInteractionNudge requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  429. ;
  430. ; extern OSErr QTVRInteractionNudge(QTVRInstance qtvr, QTVRNudgeControl direction)
  431. ;
  432.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  433.         IMPORT_CFM_FUNCTION QTVRInteractionNudge
  434.     ENDIF
  435.  
  436.  
  437. ;  =================================================================================================
  438. ;    Scene and Node Location Information 
  439. ;  -------------------------------------------------------------------------------------------------
  440.  
  441.  
  442.  
  443. ;
  444. ; extern OSErr QTVRGetVRWorld(QTVRInstance qtvr, QTAtomContainer *VRWorld)
  445. ;
  446.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  447.         IMPORT_CFM_FUNCTION QTVRGetVRWorld
  448.     ENDIF
  449.  
  450. ;
  451. ; extern OSErr QTVRGetNodeInfo(QTVRInstance qtvr, UInt32 nodeID, QTAtomContainer *nodeInfo)
  452. ;
  453.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  454.         IMPORT_CFM_FUNCTION QTVRGetNodeInfo
  455.     ENDIF
  456.  
  457. ;
  458. ; extern OSErr QTVRGoToNodeID(QTVRInstance qtvr, UInt32 nodeID)
  459. ;
  460.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  461.         IMPORT_CFM_FUNCTION QTVRGoToNodeID
  462.     ENDIF
  463.  
  464. ;
  465. ; extern UInt32 QTVRGetCurrentNodeID(QTVRInstance qtvr)
  466. ;
  467.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  468.         IMPORT_CFM_FUNCTION QTVRGetCurrentNodeID
  469.     ENDIF
  470.  
  471. ;
  472. ; extern OSType QTVRGetNodeType(QTVRInstance qtvr, UInt32 nodeID)
  473. ;
  474.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  475.         IMPORT_CFM_FUNCTION QTVRGetNodeType
  476.     ENDIF
  477.  
  478.  
  479. ;  =================================================================================================
  480. ;    Hot Spot related calls 
  481. ;  -------------------------------------------------------------------------------------------------
  482.  
  483.  
  484.  
  485. ;
  486. ; extern OSErr QTVRPtToHotSpotID(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID)
  487. ;
  488.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  489.         IMPORT_CFM_FUNCTION QTVRPtToHotSpotID
  490.     ENDIF
  491.  
  492. ;  QTVRGetHotSpotType requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  493. ;
  494. ; extern OSErr QTVRGetHotSpotType(QTVRInstance qtvr, UInt32 hotSpotID, OSType *hotSpotType)
  495. ;
  496.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  497.         IMPORT_CFM_FUNCTION QTVRGetHotSpotType
  498.     ENDIF
  499.  
  500. ;
  501. ; extern OSErr QTVRTriggerHotSpot(QTVRInstance qtvr, UInt32 hotSpotID, QTAtomContainer nodeInfo, QTAtom selectedAtom)
  502. ;
  503.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  504.         IMPORT_CFM_FUNCTION QTVRTriggerHotSpot
  505.     ENDIF
  506.  
  507. ;
  508. ; extern OSErr QTVRSetMouseOverHotSpotProc(QTVRInstance qtvr, QTVRMouseOverHotSpotUPP mouseOverHotSpotProc, SInt32 refCon, UInt32 flags)
  509. ;
  510.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  511.         IMPORT_CFM_FUNCTION QTVRSetMouseOverHotSpotProc
  512.     ENDIF
  513.  
  514. ;
  515. ; extern OSErr QTVREnableHotSpot(QTVRInstance qtvr, UInt32 enableFlag, UInt32 hotSpotValue, Boolean enable)
  516. ;
  517.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  518.         IMPORT_CFM_FUNCTION QTVREnableHotSpot
  519.     ENDIF
  520.  
  521. ;
  522. ; extern UInt32 QTVRGetVisibleHotSpots(QTVRInstance qtvr, Handle hotSpots)
  523. ;
  524.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  525.         IMPORT_CFM_FUNCTION QTVRGetVisibleHotSpots
  526.     ENDIF
  527.  
  528. ;
  529. ; extern OSErr QTVRGetHotSpotRegion(QTVRInstance qtvr, UInt32 hotSpotID, RgnHandle hotSpotRegion)
  530. ;
  531.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  532.         IMPORT_CFM_FUNCTION QTVRGetHotSpotRegion
  533.     ENDIF
  534.  
  535.  
  536. ;  =================================================================================================
  537. ;    Event & Cursor Handling Calls 
  538. ;  -------------------------------------------------------------------------------------------------
  539.  
  540.  
  541.  
  542. ;
  543. ; extern OSErr QTVRSetMouseOverTracking(QTVRInstance qtvr, Boolean enable)
  544. ;
  545.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  546.         IMPORT_CFM_FUNCTION QTVRSetMouseOverTracking
  547.     ENDIF
  548.  
  549. ;
  550. ; extern Boolean QTVRGetMouseOverTracking(QTVRInstance qtvr)
  551. ;
  552.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  553.         IMPORT_CFM_FUNCTION QTVRGetMouseOverTracking
  554.     ENDIF
  555.  
  556. ;
  557. ; extern OSErr QTVRSetMouseDownTracking(QTVRInstance qtvr, Boolean enable)
  558. ;
  559.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  560.         IMPORT_CFM_FUNCTION QTVRSetMouseDownTracking
  561.     ENDIF
  562.  
  563. ;
  564. ; extern Boolean QTVRGetMouseDownTracking(QTVRInstance qtvr)
  565. ;
  566.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  567.         IMPORT_CFM_FUNCTION QTVRGetMouseDownTracking
  568.     ENDIF
  569.  
  570. ;
  571. ; extern OSErr QTVRMouseEnter(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  572. ;
  573.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  574.         IMPORT_CFM_FUNCTION QTVRMouseEnter
  575.     ENDIF
  576.  
  577. ;
  578. ; extern OSErr QTVRMouseWithin(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  579. ;
  580.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  581.         IMPORT_CFM_FUNCTION QTVRMouseWithin
  582.     ENDIF
  583.  
  584. ;
  585. ; extern OSErr QTVRMouseLeave(QTVRInstance qtvr, Point pt, WindowPtr w)
  586. ;
  587.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  588.         IMPORT_CFM_FUNCTION QTVRMouseLeave
  589.     ENDIF
  590.  
  591. ;
  592. ; extern OSErr QTVRMouseDown(QTVRInstance qtvr, Point pt, UInt32 when, UInt16 modifiers, UInt32 *hotSpotID, WindowPtr w)
  593. ;
  594.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  595.         IMPORT_CFM_FUNCTION QTVRMouseDown
  596.     ENDIF
  597.  
  598. ;
  599. ; extern OSErr QTVRMouseStillDown(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  600. ;
  601.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  602.         IMPORT_CFM_FUNCTION QTVRMouseStillDown
  603.     ENDIF
  604.  
  605. ;
  606. ; extern OSErr QTVRMouseUp(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  607. ;
  608.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  609.         IMPORT_CFM_FUNCTION QTVRMouseUp
  610.     ENDIF
  611.  
  612. ;  These require QTVR 2.01 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion01)
  613. ;
  614. ; extern OSErr QTVRMouseStillDownExtended(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w, UInt32 when, UInt16 modifiers)
  615. ;
  616.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  617.         IMPORT_CFM_FUNCTION QTVRMouseStillDownExtended
  618.     ENDIF
  619.  
  620. ;
  621. ; extern OSErr QTVRMouseUpExtended(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w, UInt32 when, UInt16 modifiers)
  622. ;
  623.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  624.         IMPORT_CFM_FUNCTION QTVRMouseUpExtended
  625.     ENDIF
  626.  
  627.  
  628. ;  =================================================================================================
  629. ;    Intercept Routines 
  630. ;  -------------------------------------------------------------------------------------------------
  631.  
  632.  
  633.  
  634. ;
  635. ; extern OSErr QTVRInstallInterceptProc(QTVRInstance qtvr, QTVRProcSelector selector, QTVRInterceptUPP interceptProc, SInt32 refCon, UInt32 flags)
  636. ;
  637.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  638.         IMPORT_CFM_FUNCTION QTVRInstallInterceptProc
  639.     ENDIF
  640.  
  641. ;
  642. ; extern OSErr QTVRCallInterceptedProc(QTVRInstance qtvr, QTVRInterceptRecord *qtvrMsg)
  643. ;
  644.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  645.         IMPORT_CFM_FUNCTION QTVRCallInterceptedProc
  646.     ENDIF
  647.  
  648.  
  649. ;  =================================================================================================
  650. ;    Object Movie Specific Calls 
  651. ;  -------------------------------------------------------------------------------------------------
  652. ;   QTVRGetCurrentMouseMode requires QTRVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  653.  
  654.  
  655. ;
  656. ; extern UInt32 QTVRGetCurrentMouseMode(QTVRInstance qtvr)
  657. ;
  658.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  659.         IMPORT_CFM_FUNCTION QTVRGetCurrentMouseMode
  660.     ENDIF
  661.  
  662. ;
  663. ; extern OSErr QTVRSetFrameRate(QTVRInstance qtvr, float rate)
  664. ;
  665.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  666.         IMPORT_CFM_FUNCTION QTVRSetFrameRate
  667.     ENDIF
  668.  
  669. ;
  670. ; extern float QTVRGetFrameRate(QTVRInstance qtvr)
  671. ;
  672.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  673.         IMPORT_CFM_FUNCTION QTVRGetFrameRate
  674.     ENDIF
  675.  
  676. ;
  677. ; extern OSErr QTVRSetViewRate(QTVRInstance qtvr, float rate)
  678. ;
  679.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  680.         IMPORT_CFM_FUNCTION QTVRSetViewRate
  681.     ENDIF
  682.  
  683. ;
  684. ; extern float QTVRGetViewRate(QTVRInstance qtvr)
  685. ;
  686.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  687.         IMPORT_CFM_FUNCTION QTVRGetViewRate
  688.     ENDIF
  689.  
  690. ;
  691. ; extern OSErr QTVRSetViewCurrentTime(QTVRInstance qtvr, TimeValue time)
  692. ;
  693.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  694.         IMPORT_CFM_FUNCTION QTVRSetViewCurrentTime
  695.     ENDIF
  696.  
  697. ;
  698. ; extern TimeValue QTVRGetViewCurrentTime(QTVRInstance qtvr)
  699. ;
  700.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  701.         IMPORT_CFM_FUNCTION QTVRGetViewCurrentTime
  702.     ENDIF
  703.  
  704. ;
  705. ; extern TimeValue QTVRGetCurrentViewDuration(QTVRInstance qtvr)
  706. ;
  707.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  708.         IMPORT_CFM_FUNCTION QTVRGetCurrentViewDuration
  709.     ENDIF
  710.  
  711.  
  712. ;  =================================================================================================
  713. ;   View State Calls - QTVR Object Only
  714. ;  -------------------------------------------------------------------------------------------------
  715.  
  716.  
  717.  
  718. ;
  719. ; extern OSErr QTVRSetViewState(QTVRInstance qtvr, QTVRViewStateType viewStateType, UInt16 state)
  720. ;
  721.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  722.         IMPORT_CFM_FUNCTION QTVRSetViewState
  723.     ENDIF
  724.  
  725. ;
  726. ; extern OSErr QTVRGetViewState(QTVRInstance qtvr, QTVRViewStateType viewStateType, UInt16 *state)
  727. ;
  728.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  729.         IMPORT_CFM_FUNCTION QTVRGetViewState
  730.     ENDIF
  731.  
  732. ;
  733. ; extern UInt16 QTVRGetViewStateCount(QTVRInstance qtvr)
  734. ;
  735.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  736.         IMPORT_CFM_FUNCTION QTVRGetViewStateCount
  737.     ENDIF
  738.  
  739. ;
  740. ; extern OSErr QTVRSetAnimationSetting(QTVRInstance qtvr, QTVRObjectAnimationSetting setting, Boolean enable)
  741. ;
  742.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  743.         IMPORT_CFM_FUNCTION QTVRSetAnimationSetting
  744.     ENDIF
  745.  
  746. ;
  747. ; extern OSErr QTVRGetAnimationSetting(QTVRInstance qtvr, QTVRObjectAnimationSetting setting, Boolean *enable)
  748. ;
  749.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  750.         IMPORT_CFM_FUNCTION QTVRGetAnimationSetting
  751.     ENDIF
  752.  
  753. ;
  754. ; extern OSErr QTVRSetControlSetting(QTVRInstance qtvr, QTVRControlSetting setting, Boolean enable)
  755. ;
  756.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  757.         IMPORT_CFM_FUNCTION QTVRSetControlSetting
  758.     ENDIF
  759.  
  760. ;
  761. ; extern OSErr QTVRGetControlSetting(QTVRInstance qtvr, QTVRControlSetting setting, Boolean *enable)
  762. ;
  763.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  764.         IMPORT_CFM_FUNCTION QTVRGetControlSetting
  765.     ENDIF
  766.  
  767. ;
  768. ; extern OSErr QTVREnableFrameAnimation(QTVRInstance qtvr, Boolean enable)
  769. ;
  770.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  771.         IMPORT_CFM_FUNCTION QTVREnableFrameAnimation
  772.     ENDIF
  773.  
  774. ;
  775. ; extern Boolean QTVRGetFrameAnimation(QTVRInstance qtvr)
  776. ;
  777.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  778.         IMPORT_CFM_FUNCTION QTVRGetFrameAnimation
  779.     ENDIF
  780.  
  781. ;
  782. ; extern OSErr QTVREnableViewAnimation(QTVRInstance qtvr, Boolean enable)
  783. ;
  784.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  785.         IMPORT_CFM_FUNCTION QTVREnableViewAnimation
  786.     ENDIF
  787.  
  788. ;
  789. ; extern Boolean QTVRGetViewAnimation(QTVRInstance qtvr)
  790. ;
  791.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  792.         IMPORT_CFM_FUNCTION QTVRGetViewAnimation
  793.     ENDIF
  794.  
  795.  
  796.  
  797. ;  =================================================================================================
  798. ;    Imaging Characteristics 
  799. ;  -------------------------------------------------------------------------------------------------
  800.  
  801.  
  802.  
  803. ;
  804. ; extern OSErr QTVRSetVisible(QTVRInstance qtvr, Boolean visible)
  805. ;
  806.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  807.         IMPORT_CFM_FUNCTION QTVRSetVisible
  808.     ENDIF
  809.  
  810. ;
  811. ; extern Boolean QTVRGetVisible(QTVRInstance qtvr)
  812. ;
  813.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  814.         IMPORT_CFM_FUNCTION QTVRGetVisible
  815.     ENDIF
  816.  
  817. ;
  818. ; extern OSErr QTVRSetImagingProperty(QTVRInstance qtvr, QTVRImagingMode imagingMode, UInt32 imagingProperty, SInt32 propertyValue)
  819. ;
  820.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  821.         IMPORT_CFM_FUNCTION QTVRSetImagingProperty
  822.     ENDIF
  823.  
  824. ;
  825. ; extern OSErr QTVRGetImagingProperty(QTVRInstance qtvr, QTVRImagingMode imagingMode, UInt32 imagingProperty, SInt32 *propertyValue)
  826. ;
  827.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  828.         IMPORT_CFM_FUNCTION QTVRGetImagingProperty
  829.     ENDIF
  830.  
  831. ;
  832. ; extern OSErr QTVRUpdate(QTVRInstance qtvr, QTVRImagingMode imagingMode)
  833. ;
  834.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  835.         IMPORT_CFM_FUNCTION QTVRUpdate
  836.     ENDIF
  837.  
  838. ;
  839. ; extern OSErr QTVRBeginUpdateStream(QTVRInstance qtvr, QTVRImagingMode imagingMode)
  840. ;
  841.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  842.         IMPORT_CFM_FUNCTION QTVRBeginUpdateStream
  843.     ENDIF
  844.  
  845. ;
  846. ; extern OSErr QTVREndUpdateStream(QTVRInstance qtvr)
  847. ;
  848.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  849.         IMPORT_CFM_FUNCTION QTVREndUpdateStream
  850.     ENDIF
  851.  
  852. ;
  853. ; extern OSErr QTVRSetTransitionProperty(QTVRInstance qtvr, UInt32 transitionType, UInt32 transitionProperty, SInt32 transitionValue)
  854. ;
  855.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  856.         IMPORT_CFM_FUNCTION QTVRSetTransitionProperty
  857.     ENDIF
  858.  
  859. ;
  860. ; extern OSErr QTVREnableTransition(QTVRInstance qtvr, UInt32 transitionType, Boolean enable)
  861. ;
  862.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  863.         IMPORT_CFM_FUNCTION QTVREnableTransition
  864.     ENDIF
  865.  
  866.  
  867. ;  =================================================================================================
  868. ;    Basic Conversion and Math Routines 
  869. ;  -------------------------------------------------------------------------------------------------
  870.  
  871.  
  872.  
  873. ;
  874. ; extern OSErr QTVRSetAngularUnits(QTVRInstance qtvr, QTVRAngularUnits units)
  875. ;
  876.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  877.         IMPORT_CFM_FUNCTION QTVRSetAngularUnits
  878.     ENDIF
  879.  
  880. ;
  881. ; extern QTVRAngularUnits QTVRGetAngularUnits(QTVRInstance qtvr)
  882. ;
  883.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  884.         IMPORT_CFM_FUNCTION QTVRGetAngularUnits
  885.     ENDIF
  886.  
  887. ;  Pano specific routines
  888. ;
  889. ; extern OSErr QTVRPtToAngles(QTVRInstance qtvr, Point pt, float *panAngle, float *tiltAngle)
  890. ;
  891.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  892.         IMPORT_CFM_FUNCTION QTVRPtToAngles
  893.     ENDIF
  894.  
  895. ;
  896. ; extern OSErr QTVRCoordToAngles(QTVRInstance qtvr, QTVRFloatPoint *coord, float *panAngle, float *tiltAngle)
  897. ;
  898.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  899.         IMPORT_CFM_FUNCTION QTVRCoordToAngles
  900.     ENDIF
  901.  
  902. ;
  903. ; extern OSErr QTVRAnglesToCoord(QTVRInstance qtvr, float panAngle, float tiltAngle, QTVRFloatPoint *coord)
  904. ;
  905.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  906.         IMPORT_CFM_FUNCTION QTVRAnglesToCoord
  907.     ENDIF
  908.  
  909. ;  Object specific routines
  910. ;
  911. ; extern short QTVRPanToColumn(QTVRInstance qtvr, float panAngle)
  912. ;
  913.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  914.         IMPORT_CFM_FUNCTION QTVRPanToColumn
  915.     ENDIF
  916.  
  917. ;  zero based    
  918. ;
  919. ; extern float QTVRColumnToPan(QTVRInstance qtvr, short column)
  920. ;
  921.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  922.         IMPORT_CFM_FUNCTION QTVRColumnToPan
  923.     ENDIF
  924.  
  925. ;  zero based    
  926. ;
  927. ; extern short QTVRTiltToRow(QTVRInstance qtvr, float tiltAngle)
  928. ;
  929.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  930.         IMPORT_CFM_FUNCTION QTVRTiltToRow
  931.     ENDIF
  932.  
  933. ;  zero based    
  934. ;
  935. ; extern float QTVRRowToTilt(QTVRInstance qtvr, short row)
  936. ;
  937.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  938.         IMPORT_CFM_FUNCTION QTVRRowToTilt
  939.     ENDIF
  940.  
  941. ;  zero based                
  942. ;
  943. ; extern OSErr QTVRWrapAndConstrain(QTVRInstance qtvr, short kind, float value, float *result)
  944. ;
  945.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  946.         IMPORT_CFM_FUNCTION QTVRWrapAndConstrain
  947.     ENDIF
  948.  
  949.  
  950.  
  951. ;  =================================================================================================
  952. ;    Interaction Routines 
  953. ;  -------------------------------------------------------------------------------------------------
  954.  
  955.  
  956.  
  957. ;
  958. ; extern OSErr QTVRSetEnteringNodeProc(QTVRInstance qtvr, QTVREnteringNodeUPP enteringNodeProc, SInt32 refCon, UInt32 flags)
  959. ;
  960.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  961.         IMPORT_CFM_FUNCTION QTVRSetEnteringNodeProc
  962.     ENDIF
  963.  
  964. ;
  965. ; extern OSErr QTVRSetLeavingNodeProc(QTVRInstance qtvr, QTVRLeavingNodeUPP leavingNodeProc, SInt32 refCon, UInt32 flags)
  966. ;
  967.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  968.         IMPORT_CFM_FUNCTION QTVRSetLeavingNodeProc
  969.     ENDIF
  970.  
  971. ;
  972. ; extern OSErr QTVRSetInteractionProperty(QTVRInstance qtvr, UInt32 property, void *value)
  973. ;
  974.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  975.         IMPORT_CFM_FUNCTION QTVRSetInteractionProperty
  976.     ENDIF
  977.  
  978. ;
  979. ; extern OSErr QTVRGetInteractionProperty(QTVRInstance qtvr, UInt32 property, void *value)
  980. ;
  981.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  982.         IMPORT_CFM_FUNCTION QTVRGetInteractionProperty
  983.     ENDIF
  984.  
  985. ;
  986. ; extern OSErr QTVRReplaceCursor(QTVRInstance qtvr, QTVRCursorRecord *cursRecord)
  987. ;
  988.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  989.         IMPORT_CFM_FUNCTION QTVRReplaceCursor
  990.     ENDIF
  991.  
  992.  
  993. ;  =================================================================================================
  994. ;    Viewing Limits and Constraints 
  995. ;  -------------------------------------------------------------------------------------------------
  996.  
  997.  
  998.  
  999. ;
  1000. ; extern OSErr QTVRGetViewingLimits(QTVRInstance qtvr, UInt16 kind, float *minValue, float *maxValue)
  1001. ;
  1002.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1003.         IMPORT_CFM_FUNCTION QTVRGetViewingLimits
  1004.     ENDIF
  1005.  
  1006. ;
  1007. ; extern UInt32 QTVRGetConstraintStatus(QTVRInstance qtvr)
  1008. ;
  1009.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1010.         IMPORT_CFM_FUNCTION QTVRGetConstraintStatus
  1011.     ENDIF
  1012.  
  1013. ;
  1014. ; extern OSErr QTVRGetConstraints(QTVRInstance qtvr, UInt16 kind, float *minValue, float *maxValue)
  1015. ;
  1016.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1017.         IMPORT_CFM_FUNCTION QTVRGetConstraints
  1018.     ENDIF
  1019.  
  1020. ;
  1021. ; extern OSErr QTVRSetConstraints(QTVRInstance qtvr, UInt16 kind, float minValue, float maxValue)
  1022. ;
  1023.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1024.         IMPORT_CFM_FUNCTION QTVRSetConstraints
  1025.     ENDIF
  1026.  
  1027.  
  1028.  
  1029. ;  =================================================================================================
  1030. ;    Back Buffer Memory Management 
  1031. ;  -------------------------------------------------------------------------------------------------
  1032.  
  1033.  
  1034.  
  1035. ;
  1036. ; extern OSErr QTVRGetAvailableResolutions(QTVRInstance qtvr, UInt16 *resolutionsMask)
  1037. ;
  1038.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1039.         IMPORT_CFM_FUNCTION QTVRGetAvailableResolutions
  1040.     ENDIF
  1041.  
  1042. ;  These require QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  1043. ;
  1044. ; extern OSErr QTVRGetBackBufferMemInfo(QTVRInstance qtvr, UInt32 geometry, UInt16 resolution, UInt32 cachePixelFormat, SInt32 *minCacheBytes, SInt32 *suggestedCacheBytes, SInt32 *fullCacheBytes)
  1045. ;
  1046.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1047.         IMPORT_CFM_FUNCTION QTVRGetBackBufferMemInfo
  1048.     ENDIF
  1049.  
  1050. ;
  1051. ; extern OSErr QTVRGetBackBufferSettings(QTVRInstance qtvr, UInt32 *geometry, UInt16 *resolution, UInt32 *cachePixelFormat, SInt16 *cacheSize)
  1052. ;
  1053.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1054.         IMPORT_CFM_FUNCTION QTVRGetBackBufferSettings
  1055.     ENDIF
  1056.  
  1057. ;
  1058. ; extern OSErr QTVRSetBackBufferPrefs(QTVRInstance qtvr, UInt32 geometry, UInt16 resolution, UInt32 cachePixelFormat, SInt16 cacheSize)
  1059. ;
  1060.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1061.         IMPORT_CFM_FUNCTION QTVRSetBackBufferPrefs
  1062.     ENDIF
  1063.  
  1064.     IF QTVR_OLD_CALLS THEN
  1065.     IF TARGET_OS_MAC THEN
  1066.  
  1067. ;   These ≈Cache≈ calls have been replaced with the ≈BackBuffer≈ versions above.
  1068. ;   However, the ≈BackBuffer≈ calls require QuickTime VR 2.1 to work;
  1069. ;    these calls will work with QuickTime VR 2.0 and 2.0.1, but only on a Macintosh.
  1070.  
  1071.  
  1072. ;
  1073. ; extern OSErr QTVRGetCacheMemInfo(QTVRInstance qtvr, UInt16 resolution, SInt16 cacheDepth, SInt32 *minCacheBytes, SInt32 *suggestedCacheBytes, SInt32 *fullCacheBytes)
  1074. ;
  1075.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1076.         IMPORT_CFM_FUNCTION QTVRGetCacheMemInfo
  1077.     ENDIF
  1078.  
  1079. ;
  1080. ; extern OSErr QTVRGetCacheSettings(QTVRInstance qtvr, UInt16 *resolution, SInt16 *cacheDepth, SInt16 *cacheSize)
  1081. ;
  1082.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1083.         IMPORT_CFM_FUNCTION QTVRGetCacheSettings
  1084.     ENDIF
  1085.  
  1086. ;
  1087. ; extern OSErr QTVRSetCachePrefs(QTVRInstance qtvr, UInt16 resolution, SInt16 cacheDepth, SInt16 cacheSize)
  1088. ;
  1089.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1090.         IMPORT_CFM_FUNCTION QTVRSetCachePrefs
  1091.     ENDIF
  1092.  
  1093.     ENDIF    ; TARGET_OS_MAC
  1094.     ENDIF    ; QTVR_OLD_CALLS
  1095.  
  1096. ;  =================================================================================================
  1097. ;    Buffer Access 
  1098. ;  -------------------------------------------------------------------------------------------------
  1099.  
  1100.  
  1101.  
  1102. ;
  1103. ; extern OSErr QTVRSetPrescreenImagingCompleteProc(QTVRInstance qtvr, QTVRImagingCompleteUPP imagingCompleteProc, SInt32 refCon, UInt32 flags)
  1104. ;
  1105.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1106.         IMPORT_CFM_FUNCTION QTVRSetPrescreenImagingCompleteProc
  1107.     ENDIF
  1108.  
  1109. ;
  1110. ; extern OSErr QTVRSetBackBufferImagingProc(QTVRInstance qtvr, QTVRBackBufferImagingUPP backBufferImagingProc, UInt16 numAreas, QTVRAreaOfInterest areasOfInterest[2147483647], SInt32 refCon)
  1111. ;
  1112.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1113.         IMPORT_CFM_FUNCTION QTVRSetBackBufferImagingProc
  1114.     ENDIF
  1115.  
  1116. ;
  1117. ; extern OSErr QTVRRefreshBackBuffer(QTVRInstance qtvr, UInt32 flags)
  1118. ;
  1119.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1120.         IMPORT_CFM_FUNCTION QTVRRefreshBackBuffer
  1121.     ENDIF
  1122.  
  1123.  
  1124.  
  1125.  
  1126. ;  =================================================================================================
  1127. ;    Old Names
  1128. ;  -------------------------------------------------------------------------------------------------
  1129.  
  1130.  
  1131.     IF OLDROUTINENAMES THEN
  1132. CursorRecord            RECORD 0
  1133. f                         ds        QTVRCursorRecord
  1134. sizeof                     EQU *                    ; size:   $8 (8)
  1135.                         ENDR
  1136.  
  1137.  
  1138. AreaOfInterest            RECORD 0
  1139. f                         ds        QTVRAreaOfInterest
  1140. sizeof                     EQU *                    ; size:   $14 (20)
  1141.                         ENDR
  1142.  
  1143.  
  1144. FloatPoint                RECORD 0
  1145. f                         ds        QTVRFloatPoint
  1146. sizeof                     EQU *                    ; size:   $8 (8)
  1147.                         ENDR
  1148.  
  1149.  
  1150. ; typedef QTVRLeavingNodeProcPtr         LeavingNodeProcPtr
  1151.  
  1152. ; typedef QTVRLeavingNodeUPP             LeavingNodeUPP
  1153.  
  1154. ; typedef QTVREnteringNodeProcPtr         EnteringNodeProcPtr
  1155.  
  1156. ; typedef QTVREnteringNodeUPP             EnteringNodeUPP
  1157.  
  1158. ; typedef QTVRMouseOverHotSpotProcPtr     MouseOverHotSpotProcPtr
  1159.  
  1160. ; typedef QTVRMouseOverHotSpotUPP         MouseOverHotSpotUPP
  1161.  
  1162. ; typedef QTVRImagingCompleteProcPtr     ImagingCompleteProcPtr
  1163.  
  1164. ; typedef QTVRImagingCompleteUPP         ImagingCompleteUPP
  1165.  
  1166. ; typedef QTVRBackBufferImagingProcPtr     BackBufferImagingProcPtr
  1167.  
  1168. ; typedef QTVRBackBufferImagingUPP         BackBufferImagingUPP
  1169.  
  1170.     ENDIF    ; OLDROUTINENAMES
  1171.  
  1172.     ENDIF ; __QUICKTIMEVR__ 
  1173.  
  1174.